package com.cn.test.leetcode.editor.cn;//给你两个非负整数 low 和 high 。请你返回 low 和 high 之间（包括二者）奇数的数目。
//
// 
//
// 示例 1： 
//
// 输入：low = 3, high = 7
//输出：3
//解释：3 到 7 之间奇数数字为 [3,5,7] 。 
//
// 示例 2： 
//
// 输入：low = 8, high = 10
//输出：1
//解释：8 到 10 之间奇数数字为 [9] 。 
//
// 
//
// 提示： 
//
// 
// 0 <= low <= high <= 10^9 
// 
// Related Topics 数学 👍 51 👎 0


//leetcode submit region begin(Prohibit modification and deletion)
class Solution {
    public static int countOdds(int low, int high) {
        if (low==high) {
            return low%2;
        }

        int c = 0;

        if (low % 2 == 0 && high % 2 == 0) {
            c = (high - low) / 2;
        } else if (low % 2 != 0 && high % 2 != 0) {
            int s = (high - low - 1) > 0 ? (high - low - 1) : 0;
            c = s / 2 + 2;
        } else {
            c = (high - low) / 2 + 1;
        }
        return c;
//        return pre(high) - pre(low - 1);

    }
    public static int pre(int x) {
        return (x + 1) >> 1;
    }

    public static void main(String[] args) {
        System.out.println(countOdds(11,11));
    }
}
//leetcode submit region end(Prohibit modification and deletion)
